#ifndef __SAMPLE_HDMI_H__
#define __SAMPLE_HDMI_H__

#include <stdio.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <fcntl.h>
#include "vo_comm.h"

#ifdef __cplusplus
extern "C" {
#endif

hi_void vo_mipi_get_sync_info(hi_vo_intf_sync intf_sync, vo_mst_sync_info *sync_info);
// static hi_void vo_init_dev(hi_s32 dev, hi_vo_intf_type intf_type, hi_vo_intf_sync intf_sync);
// static hi_void vo_init_layer(hi_s32 layer, hi_u32 img_height, hi_u32 img_width, hi_u32 frame_rate);
// static hi_void vo_init_chn(hi_s32 layer, hi_u32 img_height, hi_u32 img_width);
// static hi_u64 vo_mst_get_vb_blk_size(hi_u32 width, hi_u32 height);
hi_void vo_mipi_sys_init(hi_u32 img_height, hi_u32 img_width);
hi_void vo_mipi_sys_exit(hi_void);
hi_s32 vo_mipi_create_vb_pool(hi_u32 img_height, hi_u32 img_width, hi_u32 *blk_handle);
hi_void vo_init_user_frame(hi_u32 vb_pool_val, hi_u32 img_height, hi_u32 img_width,
    hi_video_frame_info *user_frame);
hi_void vo_hlt_start(hi_video_frame_info user_frame, hi_u32 bufSize, char buff[]);
hi_void vo_hdmi_init(hi_s32 dev, hi_s32 layer, hi_vo_intf_type intf_type, hi_vo_intf_sync intf_sync,
    vo_mst_sync_info sync_info);
hi_void vo_hdmi_deinit(hi_s32 dev, hi_s32 layer);

#ifdef __cplusplus
}
#endif
#endif /* __SAMPLE_HDMI_H__ */